package conf2.model;

import conf2.model.EActor.Side;
import java.io.Serializable;

public class GameInfo implements Serializable {

    private String playerName;
    private Side serverSide;
    private ShelobRule shelobRule;
    private GameType gameType;
    private SpecialCardRule specialCardRule;

    public GameInfo(String playerName, Side serverSide, ShelobRule shelobRule, GameType gameType, SpecialCardRule specialCardRule) {
        this.playerName = playerName;
        this.serverSide = serverSide;
        this.shelobRule = shelobRule;
        this.gameType = gameType;
        this.specialCardRule = specialCardRule;
    }

    public String getPlayerName() {
        return playerName;
    }

    public ShelobRule getShelobRule() {
        return shelobRule;
    }

    public GameType getGameType() {
        return gameType;
    }

    public SpecialCardRule getSpecialCardRule() {
        return specialCardRule;
    }

    public Side getServerSide() {
        return serverSide;
    }

    @Override
    public String toString() {
        return String.format("%s (%s). Game: %s, Shelob: %s, SpecialCard: %s",
                playerName, serverSide, gameType.toString(), shelobRule.toString(), specialCardRule.toString());
    }
}
